It has been known that occurrence of an operating system (OS) jitter decreases an execution efficiency that is a ratio of an effective performance to a peak performance (see Fabrizio Petrini, Darren J. Kerbyson, and Scott Pakin, “The Case of the Missing Supercomputer Performance: Achieving Optimal Performance on the 8,192 Processors of ASCI Q”, SC2003). The peak performance is a theoretical computing power of a computer; the effective performance is a practical computing power that is observed when the computer executes an application.
The OS jitter is a phenomenon in which execution of an application is temporarily stopped in a random manner due to processes that are performed by the OS or the like (so-called, “housekeeping processes”). Occurrence of the OS jitter on the computer increases a ratio of a stand-by time (i.e., time when a central processing unit (CPU) is idle) to an application execution time, which remarkably decreases the execution efficiency.
To implement parallel processing, some of supercomputer systems synchronize computers by distributing synchronization messages to the computers. As a technology to prevent a decrease in the execution efficiency in such supercomputer systems, process scheduling is disclosed in, for example, Paul Terry, Amar Shan, and Pentti Huttunen, “Improving Application Performance on HPC Systems with Process Synchronization”, Linux Journal, Volume 2004, Issue 127 (November 2004), 2004. In the process scheduling, more particularly, the computers on the system are synchronized with each other in such a manner that all the computers perform an application process at the same timing, and then perform the housekeeping process at the same timing.
In the above-described technology, because the computers are connected to each other via a dedicated interconnect, and the synchronization message that is generated based on a dedicated synchronization-message distribution protocol is distributed to the computers, a degree of accuracy in the synchronization among computers is high. However, the system disadvantageously costs higher than a system using a general-purpose interconnect.
If the synchronization message is sent in series to the computers that are connected to each other via the general-purpose interconnect, the last one of the computers receives the synchronization message when a considerable time has passed since the first one of the computers receives the synchronization message. Therefore, the degree of the accuracy in the synchronization is low.
Moreover, the system using the general-purpose interconnect needs a mechanism for maintaining the synchronized state among the computers in case the synchronization message is lost in the course of distribution.